import java.util.Scanner;

/**
 * 美团淘汰分数 - 最笨的方法
 * 作者:夏天
 * qq:1205232048
 */
public class Main04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();//定义学生人数
        int[] score = new int[n];//定义学生分数数组
        int x = scanner.nextInt();//定义x
        int y = scanner.nextInt();//定义y
        int m = -1;//定义分数线
        int f = 0;//淘汰的人数
        int t = 0;//晋级的人数
        for (int i = 0; i < n; i++) {//为学生分数赋值
            score[i] = scanner.nextInt();
        }
        for (int i = 0; i < n - 1; i++) {//给学生分数从小到大排序
            for (int j = i + 1; j < n; j++) {
                if(score[i] > score[j]){
                    int temp = score[i];
                    score[i] = score[j];
                    score[j] = temp;
                }
            }
        }
        int mTemp = 0;//临时分数线
        int xb = 0;
        while ((score[0] <= score[xb]) && (score[xb] <= score[n-1]) && (xb < n)){
            mTemp = score[xb];
            for (int i = xb + 1; i < n; i++) {
                if(mTemp == score[i]){//如果这个人的分数小于分数线, 淘汰人数加1
                    f = f + 1;
                }else {//如果这个人的分数大于分数线了, 那么就假设这个是最小分数线
                    break;
                }
            }
            f = f + xb + 1;
            t = n - f;
            if((t >= x && t <= y) && (f >= x && f <= y)){//如果淘汰的人数和晋级的人数都满足那么就表示最小分数线找到了
                m = mTemp;
                break;
            }else {//如果没找到, 那么分数线向后移动
                if(xb ==  n-1){
                    break;
                }else{
                    xb++;
                }
                f = 0;
            }
        }
        System.out.println(m);
    }
}
